#ifndef SLEEDSWINDOW_H
#define SLEEDSWINDOW_H

#include <QMainWindow>
#include "sleefsmodel.h"
#include "sleefsview.h"
#include "sleefileprocessor.h"
#include <formfsnavigation.h>

namespace Ui {
    class SleeDSWindow;
}

class SleeDSWindow : public QMainWindow
{
    Q_OBJECT
    SleeFileProcessor m_file_proc;
    SleeFSView *p_active_tv;
private:

    void upload_model(FormFSNavigation *p_fsnav, SleeFSView *p_tv, const QString &qstr_root_dir);

protected:
    virtual void showEvent(QShowEvent *);
public:
    explicit SleeDSWindow(QWidget *parent = 0);
    ~SleeDSWindow();
protected slots:
    void switch_tv_focus();
    void set_active_view();
    void tvitem_act(QModelIndex index);
    void fproc_started(int count, qint64 bytes);    //    void queue_started(int fso_count,qint64 bytes_total);
    void fproc_processed(int i, int t);         //    void queue_fso_processed(int fso_done, int fso_total);
    void fproc_bytes_done(qint64 bytes_done, qint64 bytes_total); //    void queue_bytes_processed(qint64 bytes_done, qint64 bytes_total);
    void fproc_done(); //    void queue_done();
    void fproc_item_started(QString qstr_src, QString qstr_dest, int operation); //    void queue_item_started(QString qstr_src, QString qstr_dest, int operation);
    void fproc_item_bytes_done(qint64 bytes_done, qint64 bytes_total);
    void fproc_item_done(QString qstr_src, QString qstr_dest);//    void queue_item_done(QString qstr_src, QString qstr_dest);

    void copy_files();
    void del_files();
    void move_files();




//    void queue_item_bytes_processed(qint64 bytes_done, qint64 bytes_total);





private slots:


private:
    Ui::SleeDSWindow *ui;
};

#endif // SLEEDSWINDOW_H
